package com.rybbaby.tss.platform.sysSequence.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @description 系统序列
 * 
 * @author 谢进伟
 * 
 * @createDate 2017-11-27 下午4:50:30
 */
@Entity
@Table(name = "sys_sequence")
@DynamicUpdate(true)
@DynamicInsert(true)
public class SysSequence implements Serializable {
	
	private static final long serialVersionUID = 101737834866862L;
	
	/** 主键 **/
	private java.lang.String id;
	/** 序列名称 **/
	private java.lang.String name;
	/** 当前值 **/
	private java.lang.Integer currentValue;
	/** 递进步长 **/
	private java.lang.Integer increment;
	/** 版本 **/
	private java.lang.Integer version;
	
	/**
	 * 方法: 取得主键
	 *
	 * @return java.lang.String 主键
	 */
	@Id
	@GeneratedValue(generator = "sys_sequenceIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "sys_sequenceIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public java.lang.String getId() {
		return this.id;
	}
	
	/**
	 * 方法: 设置主键
	 *
	 * @param id 主键
	 */
	public void setId(java.lang.String id) {
		this.id = id;
	}
	
	/**
	 * 方法: 取得序列名称
	 *
	 * @return java.lang.String 序列名称
	 */
	@Column(name = "name", nullable= true, length = 100)
	public java.lang.String getName() {
		return this.name;
	}
	
	/**
	 * 方法: 设置序列名称
	 *
	 * @param name 序列名称
	 */
	public void setName(java.lang.String name) {
		this.name = name;
	}
	
	/**
	 * 方法: 取得当前值
	 *
	 * @return java.lang.Integer 当前值
	 */
	@Column(name = "currentValue", nullable= true, length = 11)
	public java.lang.Integer getCurrentValue() {
		return this.currentValue;
	}
	
	/**
	 * 方法: 设置当前值
	 *
	 * @param currentValue 当前值
	 */
	public void setCurrentValue(java.lang.Integer currentValue) {
		this.currentValue = currentValue;
	}
	
	/**
	 * 方法: 取得递进步长
	 *
	 * @return java.lang.Integer 递进步长
	 */
	@Column(name = "increment", nullable= true, length = 11)
	public java.lang.Integer getIncrement() {
		return this.increment;
	}
	
	/**
	 * 方法: 设置递进步长
	 *
	 * @param increment 递进步长
	 */
	public void setIncrement(java.lang.Integer increment) {
		this.increment = increment;
	}
	
	/**
	 * 方法: 取得版本
	 *
	 * @return java.lang.Integer 版本
	 */
    @Version
	@Column(name = "version", nullable= true, length = 11)
	public java.lang.Integer getVersion() {
		return this.version;
	}
	
	/**
	 * 方法: 设置版本
	 *
	 * @param version 版本
	 */
	public void setVersion(java.lang.Integer version) {
		this.version = version;
	}
}